package com.tengju.support.domain.shared;

public enum DomainExceptionCode {
    ID_SHOULD_BE_POSITIVE("ID必须大于0"),
    DATA_NOT_FOUND("找不到%s数据 ID:%s"),
    INVALID_DATA("数据异常 %s"),
    PRICE_SHOULD_BE_POSITIVE("价格不能小于0"),
    CAST_OBJECT_TO_JSON_FAIL("Cast object to json fail"),
    NOT_config_OPERATION("不支持该操作 %s"),
    STATUS_CHANGE_ERROR("状态变更失败"),

    MESSAGE_TITLE_EMPTY("消息标题不能为空"),
    MESSAGE_CHANNEL_EMPTY("消息渠道不能为空"),
    MESSAGE_TYPE_EMPTY("消息分类不能为空"),
    MESSAGE_CONTENT_TYPE_EMPTY("展现形式不能为空"),
    MESSAGE_ORIENTATION_TYPE_EMPTY("用户定向类型不能为空"),
    MESSAGE_ORIENTATION_ZERO_ERROR("用户定向idCode不能为0"),
    MESSAGE_ORIENTATION_USER_EMPTY_ERROR("指定用户不能空"),
    MESSAGE_ORIENTATION_LEVEL_EMPTY_ERROR("指定星级不能空"),
    MESSAGE_ORIENTATION_LEVEL_ERROR("指定星级数据异常"),
    MESSAGE_PUSH_EMPTY("是否推送不能为空"),
    MESSAGE_SEND_TIME_EMPTY("消息发送时间不能为空"),
    MESSAGE_IMG_CONTENT_EMPTY("消息图片或内容不能都为空"),
    MESSAGE_SEND_TIME_ERROR("消息发送时间不能早于当前时间"),

    RULE_EMPTY("规则为空"),
    RULE_CONDITION_EMPTY("规则条件为空"),
    RULE_BIZ_TYPE_EMPTY("规则业务类型为空"),
    RULE_ACTION_PARSE_ERROR("action解析失败"),
    RULE_FACT_ERROR("获取fact异常")
    ;

    private String message;

    DomainExceptionCode(String message) {
        this.message = message;
    }

    public String getMessage(Object... param) {
        return String.format(message, param);
    }
}
